package com.darly.rnmodule;

import androidx.annotation.StringDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * author:zhangyuhui
 * date:2020-01-0911:21
 * description:所有RN调用原生方法的类返回名称
 */
public class ModuleEnum {
    //提供React Native进行调用的原生方法
    public static final String LISTMODULE = "ListModule";
    //初始化RN需要原生参数的方法。
    public static final String INIT_MODULE = "InitModule";
    public static final String STORE_MALL_MODULE = "StoreMallModule";

    //提供React Native进行调用的原生封装控件
    public static final String TOASTMANAGER = "ToastManager";
    //提供React Native进行调用的原生封装控件地图组件
    public static final String LBSMAPMANAGER = "LbsMapManager";

    //提供React Native界面调用入口（对应的Android原生界面）
    public static final String RNSTUDYACTIVITY = "RNStudyActivity";
    public static final String LISTENTITYACTIVITY = "ListEntityActivity";
    //有导航界面的React Native
    public static final String RNNAVIGATORACTIVITY = "RNNavigatorActivity";
    //React Native首页
    public static final String REACT_NATIVE_MAIN_ACTIVITY = "ReactNativeMainActivity";
    public static final String MAIN_PAGE_ACTIVITY = "MainPageActivity";
    public static final String MAP_PAGE_ACTIVITY = "MapPageActivity";
    public static final String SETTING_PAGE_ACTIVITY = "SettingPageActivity";
    public static final String OBJECT_LIST_ACTIVITY = "ObjectListActivity";
    public static final String BOOK_READER_ACTIVITY = "BookReaderActivity";
    public static final String PAY_ENTITY_ACTIVITY = "PayEntityActivity";
    public static final String SHOP_STORE_ACTIVITY = "ShopStoreActivity";
    public static final String VISIT_ACTIVITY = "VisitActivity";

    public static final String TITLE = "title";

    @StringDef(value = {
            LISTMODULE,INIT_MODULE,STORE_MALL_MODULE,TOASTMANAGER,LBSMAPMANAGER,RNSTUDYACTIVITY,LISTENTITYACTIVITY,RNNAVIGATORACTIVITY,
            REACT_NATIVE_MAIN_ACTIVITY,SHOP_STORE_ACTIVITY,VISIT_ACTIVITY,BOOK_READER_ACTIVITY,
            MAIN_PAGE_ACTIVITY,MAP_PAGE_ACTIVITY,SETTING_PAGE_ACTIVITY,OBJECT_LIST_ACTIVITY,PAY_ENTITY_ACTIVITY,TITLE,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface Type {}

}
